Additional Files Required To Generate a Type Library

In order to compile an IDL file that contains a library statement, the OLE and OLE AUTOMATION DLL files must be on your system. These files are automatically installed during installation of Microsoft  Windows NT  or Windows  95.

Effective with Windows NT 4.0, there is a new version of OLEAUT32.DLL that supports a richer format for 32-bit type libraries. MIDL looks for this DLL on the build machine; if the new version is present, MIDL generates a new-format type library, otherwise it generates an old-format type library.

Note for 16-bit developers

If your application must interoperate with 16-bit applications, you must use the old-format type library for compatibility. The MIDL command-line option /old2KNOYQP overrides this default and directs the MIDL compiler to generate old-format type libraries even if the newer version of OLEAUT32.DLL is present.

Some of the base types that MKTYPLIB supports are not directly supported in MIDL. MIDL obtains definitions for these base types by automatically importing oaidl.idl whenever it sees a library statement. You need to ensure that this file is somewhere in your include path. The oaidl.idl file, and the files that it imports (objidl.idl, unkwn.idl, and wtypes.idl) are automatically installed when you install the Win32 SDK.

See Also

Marshaling OLE Data Types, /old, /new